// 定义用户的模型

/**
 * @param {
 *    type:定义类型
 *    require:是否必填
 *    unique:属性值是否唯一
 *    trim: 写入数据时，会自动去掉首尾空格
 *    minlength:最小长度
 *    maxlength:最大长度
 *    select:后续对用户进行查询的时候，默认情况下，不要查询密码
 *    enum:用户角色是一个字符串，用户的取值必须是其中的某个值
 * }
 */
var mongoose = require("mongoose");
// 定义一个用户结构
var userSchema = new mongoose.Schema({
  loginId: {
    type: String,
    require: true,
    unique: true,
    trim: true,
    minlength: 3,
    maxlength: 18
  },
  loginPwd: {
    type: String,
    require: true,
    trim: true,
    minlength: 3,
    maxlength: 18,
    select: false
  },
  name: {
    type: String,
    require: true,
    trim: true,
    minlength: 2,
    maxlength: 10
  },
  age: {
    type: Number,
    require: true,
    min: 1,
    max: 100
  },
  role: {
    type: String,
    require: true,
    trim: true,
    enum: ["管理员", "普通用户", "VIP"]
  }
});

module.exports = mongoose.model("User", userSchema);
